System and method for text analysis and routing of outgoing messages

ABSTRACT

The present invention allows text analysis and routing of an outgoing message. The system intercepts outgoing messages for analysis by a TAS software module. The module assigns an analytical score to the message, then compares the score to a threshold. If the score is below the threshold, the message is transmitted to its ultimate destination. If not, the message may be routed for correction by the message&#39;s composer or quality assurance staff. After such correction, the message new analytical score is generated and compared, and, if necessary, the process repeats again.

FIELD

The present disclosure is directed to a method for computer analysis, specifically a method of analyzing text in an outgoing message and routing the message based on the analysis.

BACKGROUND

One of the key challenges facing any organization engaging in customer service is the maintenance of excellent outbound communications. Every customer service request becomes a two-way conversation in which the organization must assist their customer while maintaining an appropriate corporate tone. This is further complicated by organizations' reliance upon the conversational skills of their customer service representatives (CSRs), which may vary drastically from person to person. In written communication channels such as email or social media posts this problem manifests itself in many ways, ranging from simple spelling and grammatical mistakes to incorrect formality of language for a given situation. Disaffected CSRs may even send out intentionally unacceptable communications in response to communications from customers.

Employing common tools such as spelling and grammar checkers can mitigate some of these issues, but subtler issues often require application of quality assurance (QA) processes by the organization. Such processes require dedicated staff to double check outgoing messages for errors and appropriate tone. Either the QA staff or the original sender can then rectify mistakes or make other necessary changes before the message is sent on to the customer.

Maintaining a QA process like this can be costly to an organization. Inspecting individual messages is slow, delaying communication with customers. Smaller organizations cannot afford to set aside staff to look at every outbound communication. Larger organizations may have such a high volume of messages that a dedicated staff capable of handling the workload would be a significant drain on resources. This leads to inconsistent application of communication guidelines, sometimes ending in a poor experience for the customer. With the increase in online ratings and social media postings regarding customer experiences, publicized instances of poor communication can have a detrimental effect on a business.

There is an unmet need in the art for a system capable of automatically intercepting and analyzing outgoing messages sent from a CSR and rerouting poor-quality messages for correction.

SUMMARY

An exemplary embodiment of the present application is a method for text analysis and routing of outgoing messages. The transmission of an outgoing message composed on a customer engagement center (CEC) desktop is intercepted using a TAS unit. A TAS software module performs an analysis of the outgoing message, assigning an analytical score to the outgoing message based on the analysis. After comparing the analytical score to a quality threshold, the outgoing message is transmitted to an ultimate destination.

An exemplary embodiment of the present application is a system for text analysis and routing of outgoing messages. The system includes a CEC desktop that transmits an outgoing message composed on the CEC desktop, a processor, and a non-transient computer readable medium programmed with computer readable code that upon execution by the processor causes the processor to execute the above-mentioned method for text analysis and routing of outgoing messages.

Another exemplary embodiment of the present application is a non-transient computer readable medium programmed with computer readable code that upon execution by a processor causes the processor to execute the above-mentioned method for text analysis and routing of outgoing messages.

The objects and advantages will appear more fully from the following detailed description made in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWING(S)

FIG. 1 depicts an exemplary embodiment of a customer engagement center system for text analysis and routing of outgoing messages.

FIGS. 2a and 2b depict a flowchart of an exemplary embodiment of a method for text analysis and routing of outgoing messages.

FIG. 3 depicts an exemplary embodiment of a system for text analysis and routing of outgoing messages.

DETAILED DESCRIPTION OF THE DRAWING(S)

In the present description, certain terms have been used for brevity, clearness and understanding. No unnecessary limitations are to be applied therefrom beyond the requirement of the prior art because such terms are used for descriptive purposes only and are intended to be broadly construed. The different systems and methods described herein may be used alone or in combination with other systems and methods. Various equivalents, alternatives and modifications are possible within the scope of the appended claims. Each limitation in the appended claims is intended to invoke interpretation under 35 U.S.C. § 112, sixth paragraph, only if the terms “means for” or “step for” are explicitly recited in the respective limitation.

Customer engagement center (CEC) systems allow customer service agents to engage with customers in a controlled manner. By applying automated analysis of outgoing messages, the CEC system can allow an organization to achieve several key benefits. First, every message can receive a degree of analysis before it leaves the organization's control. Second, the organization can reduce costs. The quality assurance (QA) staff will spend their time working on messages selected for further investigation by the system, rather than wasting time inspecting messages without mistakes.

In embodiments, it is desirable for the system to automatically intercept and analyze the text of an outgoing message drafted by a customer service representative (CSR). This allows the system to route the outgoing message to the CSR or to QA staff if the outgoing message has a high analytical score, indicating, for example, that it contains too many errors or too much unacceptable language. In an embodiment, it is desirable to route the outgoing message directly to the CSR for correction. In an embodiment, it is desirable to route the outgoing message directly to the QA staff if the analytical score is too high, the CSR has already attempted to correct the outgoing message, the outgoing message contains predetermined “red flag” features, or if the company wants outgoing messages to automatically route to the QA staff. In an embodiment, it is desirable to repeat the check and routing (if necessary) to ensure that old errors were corrected and no new errors introduced.

FIG. 1 depicts an exemplary embodiment of CEC system 100 for text analysis and routing of outgoing messages.

CEC system 100 includes at least one CEC desktop 110 used by a CSR for composing outgoing messages 120 and optionally reading incoming written communications. In the exemplary embodiment, at least one additional CEC desktop 110 is used by QA staff to review and if necessary correct outgoing messages 120. By way of non-limiting example, outgoing messages 120 may include a response to written communication, a scheduled or spontaneous post on a social networking or content-sharing service, a post on a review site, a press release, or any other outgoing message.

CEC system 100 also includes a text analytics service (TAS) unit 130 having a TAS software module 131 and an optional TAS storage 132. TAS unit 130 may be a processor or a combination of a processing system and a storage system. TAS unit 130 intercepts outgoing messages 120 sent from CEC desktop(s) 110 and analyzes outgoing messages 120 using TAS software module 131 to generate an analytical score. Optionally, TAS unit 130 may also permanently or temporarily save a copy of the outgoing message to internal or external TAS storage 132.

The analysis may evaluate spelling, grammar, sentiment, tone, word choice, or any other characteristic of outgoing message 120. TAS software module 131 may also identify outgoing messages 120 with predetermined red flag features, such as prohibited words, phrases, or expressions. Such red flag features, offensive sentiment, tone, or word choice, or grammatical or spelling errors in outgoing messages 120 result in an increased analytical score. Different types of characteristics or flagged features may be weighed differently. By way of non-limiting example, TAS software module 131 may score an otherwise-perfect outgoing message 120 containing an obscene word far higher than another outgoing message 120 with multiple misspelled words. By way of another non-limiting example, TAS software module 131 may score a first outgoing message 120 with a racial slur higher than a second outgoing message 120 with a misspelled word. If necessary, QA staff or another entity may update any of the analytical characteristics, scoring methodology, score weight, and flagged features at regular intervals or as-needed.

TAS software module 131 also compares the analytical score to a quality threshold. Outgoing messages 120 with analytical scores below the quality threshold are allowed to pass to their final destination. Outgoing messages 120 with analytical scores above the quality threshold require correction before passing to their final destination. Such outgoing messages 120 may return to the originating CSR or pass to QA staff. Once corrected, TAS software module 131 analyzes and compares the outgoing message again. A corrected outgoing message 120 is only allowed to pass if its analytical score has dropped below the threshold and it contains no red flag features; otherwise, outgoing message 120 returns to the originating CSR or QA staff. In embodiments where outgoing message 120 returns to the originating CSR, such as the exemplary embodiment, a CSR only has a certain number of attempts to correct their outgoing message 120 before it goes to QA staff. This ensures that CSRs with poor writing and correction skills do not overly delay communication. In certain other embodiments, the presence of a red flag feature in outgoing message 120 automatically passes outgoing message 120 to QA staff. This ensures that QA staff are aware of any uses of prohibited words, phrases, or expressions.

Quality thresholds may vary according to the type of outgoing messages 120. For example, an email message directly replying to a written communication from an important customer may have a much lower quality threshold than a general social media post to a high-volume account or a minor notice posted to the CSR's company intranet. The QA staff or another entity may update any of the quality thresholds as needed to ensure excellent communications. In the exemplary embodiment, a second threshold higher than the quality threshold, a QA threshold, automatically directs particularly high-scoring outgoing messages 120 to QA staff rather than to the originating CSR. This alerts QA staff if a CSR has extremely poor writing capability, potentially necessitating remedial training.

FIGS. 2a and 2b depict a flowchart of an exemplary embodiment of method 200 for text analysis and routing of outgoing messages.

In optional step 202, a CSR views a written communication on a customer engagement center (CEC) desktop of a CEC system. The written communication may be an online posting, a direct message from a customer, a communication from a third party, a message from a customer forwarded by a third party, or any other written communication.

In step 204, the CSR composes an outgoing message on the CEC desktop.

In step 206, the CSR transmits the outgoing message from the CEC desktop to the CEC system.

In step 208, the outgoing message is intercepted by a TAS unit in the CEC system.

In step 210, the TAS unit performs an analysis of the outgoing message using a TAS software module. The analysis may evaluate the message's spelling, grammar, sentiment, tone, word choice, or any other characteristic. The analysis may also review outgoing messages to detect slurs, obscenities, insults, or other predetermined red flag words, phrases, or expressions. The TAS unit may also permanently or temporarily save a copy of the outgoing message to internal or external TAS storage.

In step 212, the TAS unit assigns an analytical score to the outgoing message based on the analysis of step 210. A message with numerous misspellings, grammatical mistakes, and poor word choices will have a higher score than one without any such errors.

In step 214, the TAS unit compares the analytical score to a quality threshold. The TAS software module may be programmed with multiple different quality thresholds for different outgoing messages.

In optional step 216, the TAS unit transmits the outgoing message to the CSR if the analytical score is above the quality threshold. In the exemplary embodiment, the CSR does not receive the outgoing message if the analytical score is above a QA threshold; in such a scenario, the outgoing message is instead sent directly to QA staff. Likewise, in the exemplary embodiment, if the CSR is unable to bring the analytical score above the quality threshold after a given number of attempts (i.e., if an attempt number is above an attempt threshold), the QA staff receive the outgoing message for correction. In other embodiments, the CSR receives the outgoing message automatically. In certain other embodiments, QA staff receive the outgoing message automatically if the CSR includes red flag features in the outgoing message. The transmission may also include feedback pertaining to the quality of the outgoing message, such as, but not limited to, the analytical score, specific spelling mistakes, specific grammatical mistakes, suggested changes, at least one previous version of the outgoing message, at least one previous version of the outgoing message with highlighted changes, or information on any other message characteristic.

In optional step 218, the TAS unit transmits the outgoing message to the QA staff if the analytical score is above the quality threshold. In the exemplary embodiment, the QA staff receive the outgoing message if the analytical score is above the QA threshold or if the CSR is unable to bring the analytical score above the quality threshold after a given number of attempts. In other embodiments, the QA staff receive the outgoing message automatically. In certain other embodiments, QA staff receive the outgoing message automatically if the outgoing message includes red flag features. The transmission may also include feedback pertaining to the quality of the outgoing message, such as, but not limited to, the analytical score, specific spelling mistakes, specific grammatical mistakes, suggested changes, at least one previous version of the outgoing message, at least one previous version of the outgoing message with highlighted changes, or information on any other message characteristic.

In optional step 220, the CSR or the QA staff correct the outgoing message if the analytical score is above the quality threshold, then transmit the corrected outgoing message from the CEC desktop back to the TAS unit.

In optional step 222, method 200 repeats steps 210-220, as applicable, until the analytical score is below the quality threshold. In the exemplary embodiment, method 200 increments the attempt number with each repetition.

In step 224, the TAS unit transmits the outgoing message to its ultimate destination.

FIG. 3 depicts an exemplary embodiment of system 300 for text analysis and routing of outgoing messages. System 300 is generally a computing system that includes a processing system 306, a storage system 304, software 302, a communication interface 308, and a user interface 310. Processing system 306 loads and executes software 302 from the storage system 304, including a software module 320. When executed by computing system 300, software module 320 directs the processing system 306 to operate as described in herein in further detail in accordance with the method 200.

Although computing system 300 as depicted in FIG. 3 includes one software module in the present example, it should be understood that one or more modules could provide the same operation. Similarly, while the description as provided herein refers to a computing system 300 and a processing system 306, it is to be recognized that implementations of such systems can be performed using one or more processors, which may be communicatively connected, and such implementations are considered to be within the scope of the description. It is also contemplated that these components of computing system 300 may be operating in a number of physical locations.

The processing system 306 can comprise a microprocessor and other circuitry that retrieves and executes software 302 from storage system 304. Processing system 306 can be implemented within a single processing device but can also be distributed across multiple processing devices or sub-systems that cooperate in existing program instructions. Examples of processing systems 306 include general purpose central processing units, application specific processors, and logic devices, as well as any other type of processing device, combinations of processing devices, or variations thereof.

The storage system 304 can comprise any storage media readable by processing system 306, and capable of storing software 302. The storage system 304 can include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. Storage system 304 can be implemented as a single storage device but may also be implemented across multiple storage devices or sub-systems. Storage system 304 can further include additional elements, such a controller capable of communicating with the processing system 306.

Examples of storage media include random access memory, read only memory, magnetic discs, optical discs, flash memory, virtual memory, and non-virtual memory, magnetic sets, magnetic tape, magnetic disc storage or other magnetic storage devices, or any other medium which can be used to store the desired information and that may be accessed by an instruction execution system, as well as any combination or variation thereof, or any other type of storage medium. In some implementations, the storage media can be a non-transitory storage media. In some implementations, at least a portion of the storage media may be transitory. Storage media may be internal or external to system 300.

User interface 310 can include one or more CEC desktops 110, a mouse, a keyboard, a voice input device, a touch input device for receiving a gesture from a user, a motion input device for detecting non-touch gestures and other motions by a user, and other comparable input devices and associated processing elements capable of receiving user input from a user. Output devices such as a video display or graphical display can display CEC desktop 110, outgoing messages 120, written communications, or another interface further associated with embodiments of the system and method as disclosed herein. Speakers, printers, haptic devices and other types of output devices may also be included in the user interface 310. A CSR or member of QA staff can communicate with computing system 300 through the user interface 310 in order to view a written communication, create one or more outgoing messages 120, enter client input, manage an interaction, or any number of other tasks the CSR or QA staff may want to complete with computing system 300.

As described in further detail herein, computing system 300 receives and transmits data through communication interface 308. In embodiments, the communication interface 308 operates to send and/or receive data, such as, but not limited to, outgoing message 120 to/from other devices to which computing system 300 is communicatively connected, and to receive and process client input, as described in greater detail above. The client input can include written communication, details about a request, work order or other set of information that will necessitate an interaction between the client and the agent. Client input may also be made directly to the CSR, as described in further detail above.

In the foregoing description, certain terms have been used for brevity, clearness, and understanding. No unnecessary limitations are to be inferred therefrom beyond the requirement of the prior art because such terms are used for descriptive purposes and are intended to be broadly construed. The different configurations, systems, and method steps described herein may be used alone or in combination with other configurations, systems and method steps. It is to be expected that various equivalents, alternatives and modifications are possible within the scope of the appended claims. 

1.-20. (canceled)
 21. A method for text analysis and routing of outgoing messages, comprising: intercepting, within a customer engagement center (CEC), an outgoing message prior to receipt of the outgoing message at an ultimate destination outside of the CEC, wherein the outgoing message is composed by a customer service representative (CSR); performing an automated analysis of the outgoing message to detect a plurality of errors; assigning an analytical score to the outgoing message based on the analysis; comparing the analytical score to a quality threshold; returning the outgoing message to the CSR for correction when the analytical score is higher than the quality threshold; again, intercepting the transmission of the corrected outgoing message prior to transmitting the corrected outgoing message to the ultimate destination and performing the analysis, analytical assignment, and returning steps until the analytical score is less than the quality threshold; and transmitting the corrected outgoing message to the ultimate destination when the analytical score is less than the quality threshold.
 22. The method of claim 21, wherein the outgoing message is composed on a CEC desktop.
 23. The method of claim 21, the method further comprising initiating a transmission of the outgoing message to the ultimate destination prior to the interception step.
 24. The method of claim 23, wherein the transmission is initiated from a CEC desktop.
 25. A system for text analysis and routing of outgoing messages, comprising: a processor; and a non-transitory computer readable medium programmed with computer readable code that upon execution by the processor causes the processor to: intercept, within a customer engagement center (CEC), an outgoing message prior to receipt of the outgoing message at an ultimate destination outside of the CEC, wherein the outgoing message is composed by a customer service representative (CSR); perform an automated analysis of the outgoing message to detect a plurality of errors; assign an analytical score to the outgoing message based on the analysis; compare the analytical score to a quality threshold; return the outgoing message to the CSR for correction when the analytical score is higher than the quality threshold; again, intercept the corrected outgoing message prior to receipt of the corrected outgoing message at the ultimate destination and performing the analysis, analytical assignment, and returning steps until the analytical score is less than the quality threshold; and transmit the corrected outgoing message to the ultimate destination when the analytical score is less than the quality threshold.
 26. The system of claim 25, wherein the outgoing message is composed on a CEC desktop.
 27. The system of claim 25, wherein the processor further is instructed to initiate a transmission of the outgoing message to the ultimate destination prior to the interception step.
 28. The system of claim 27, wherein the transmission is initiated from a CEC desktop.
 29. A method for text analysis and routing of outgoing messages, comprising: automatedly analyzing an outgoing message composed within a customer engagement center (CEC), prior to receipt of the outgoing message at an ultimate destination outside of the CEC, to detect a plurality of errors based on a set of analytical requirements; assigning a first analytical score to the outgoing message based on the analysis; comparing the first analytical score to a quality threshold; receiving an update to the set of analytical requirements prior to transmitting the outgoing message to the ultimate destination; automatedly reanalyzing the outgoing message, prior to transmitting it to the ultimate destination, to detect a plurality of errors based on the updated set of analytical requirements; repeating the assigning and comparing steps above; and transmitting the outgoing message to the ultimate destination when the analytical score is less than the quality threshold.
 30. The method of claim 29, wherein the outgoing message is composed on a CEC desktop.
 31. The method of claim 29, the method further comprising initiating a transmission of the outgoing message to the ultimate destination prior to the analyzing step, wherein the transmission is initiated from a CEC desktop.
 32. A system for text analysis and routing of outgoing messages, comprising: a processor; and a non-transitory computer readable medium programmed with computer readable code that upon execution by the processor causes the processor to: automatedly analyze an outgoing message composed within a customer engagement center (CEC), prior to receipt of the outgoing message at an ultimate destination outside of the CEC, to detect a plurality of errors based on a set of analytical requirements; assign a first analytical score to the outgoing message based on the analysis; compare the first analytical score to a quality threshold; receive an update to the set of analytical requirements prior to transmitting the outgoing message to the ultimate destination; automatedly reanalyze the outgoing message, prior to transmitting it to the ultimate destination, to detect a plurality of errors based on the updated set of analytical requirements; repeat the assignment and comparison steps above; and transmit the outgoing message to the ultimate destination when the analytical score is less than the quality threshold.
 33. The system of claim 32, wherein the outgoing message is composed on a CEC desktop.
 34. The system of claim 32, wherein the processor is further instructed to initiate a transmission of the outgoing message to the ultimate destination prior to the analysis step, wherein the transmission is initiated from a CEC desktop.
 35. A method for text analysis and routing of outgoing messages, comprising: intercepting, within a customer engagement center (CEC) an outgoing message prior to receipt of the outgoing message at an ultimate destination outside of the CEC, wherein the outgoing message is composed by a customer service representative (CSR); performing an automated analysis of the outgoing message to detect a plurality of errors; assigning an analytical score to the outgoing message based on the analysis; comparing the analytical score to a QA staff threshold; routing the outgoing message to one of a plurality of QA staff for correction of the detected plurality of errors; repeating the intercepting, automated analysis, assignment of analytical score, and comparing steps listed above on the corrected outgoing message until the analytical score is less than the QA staff threshold; and transmitting the corrected outgoing message to the ultimate destination when the analytical score is less than the QA staff threshold.
 36. The method of claim 35, wherein the outgoing message is composed on a CEC desktop.
 37. The method of claim 35, the method further comprising initiating a transmission of the outgoing message to the ultimate destination prior to the analyzing step, wherein the transmission is initiated from a CEC desktop.
 38. A system for text analysis and routing of outgoing messages, comprising: a processor; and a non-transitory computer readable medium programmed with computer readable code that upon execution by the processor causes the processor to: intercept, within a customer engagement center (CEC) an outgoing message prior to receipt of the outgoing message at an ultimate destination outside of the CEC, wherein the outgoing message is composed by a customer service representative (CSR); perform an automated analysis of the outgoing message to detect a plurality of errors; assign an analytical score to the outgoing message based on the analysis; compare the analytical score to a QA staff threshold; route the outgoing message to one of a plurality of QA staff for correction of the detected plurality of errors; repeat the interception, automated analysis, assignment of analytical score, and comparison steps listed above on the corrected outgoing message until the analytical score is less than the QA staff threshold; and transmit the corrected outgoing message to the ultimate destination when the analytical score is less than the QA staff threshold.
 39. The system of claim 38, wherein the outgoing message is composed on a CEC desktop.
 40. The system of claim 38, wherein the processor is further instructed to initiate a transmission of the outgoing message to the ultimate destination prior to the analyzing step, wherein the transmission is initiated from a CEC desktop. 